load("@rules_java//java:defs.bzl", "java_library")

package(
    default_applicable_licenses = [
        "//:license",
    ],
    default_visibility = [
        "//common/navigation:__pkg__",
    ],
)

java_library(
    name = "common",
    srcs = [
        "BaseNavigableExpr.java",
        "CelNavigableExprVisitor.java",
        "ExprPropertyCalculator.java",
        "TraversalOrder.java",
    ],
    tags = [
    ],
    deps = [
        "//:auto_value",
        "//common/ast",
        "@maven//:com_google_errorprone_error_prone_annotations",
        "@maven//:com_google_guava_guava",
        "@maven//:org_jspecify_jspecify",
    ],
)

java_library(
    name = "navigation",
    srcs = [
        "CelNavigableAst.java",
        "CelNavigableExpr.java",
    ],
    tags = [
    ],
    deps = [
        ":common",
        "//:auto_value",
        "//common:cel_ast",
        "//common/ast",
        "@maven//:com_google_errorprone_error_prone_annotations",
        "@maven//:com_google_guava_guava",
        "@maven//:org_jspecify_jspecify",
    ],
)

java_library(
    name = "mutable_navigation",
    srcs = [
        "CelNavigableMutableAst.java",
        "CelNavigableMutableExpr.java",
    ],
    tags = [
    ],
    deps = [
        ":common",
        "//:auto_value",
        "//common:mutable_ast",
        "//common/ast:mutable_expr",
        "//common/types:type_providers",
        "@maven//:com_google_errorprone_error_prone_annotations",
        "@maven//:com_google_guava_guava",
        "@maven//:org_jspecify_jspecify",
    ],
)
